//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 AmbientColorAndSkyFactor;
//   float4 DiffuseOverrideParameter;
//   float4 LightMapScale[2];
//   sampler2D LightMapTextures[2];
//   float4 MinZ_MaxZRatio;
//   float NvStereoEnabled;
//   sampler2D NvStereoFixTexture;
//   sampler2D PixelTexture2D_0;
//   sampler2D PixelTexture2D_1;
//   sampler2D PixelTexture2D_2;
//   sampler2D PixelTexture2D_3;
//   sampler2D PixelTexture2D_4;
//   sampler2D PixelTexture2D_5;
//   sampler2D SceneColorTexture;
//   float4 ScreenPositionScaleBias;
//   float4 SpecularOverrideParameter;
//   float4 UniformPixelScalars_2;
//   float4 UniformPixelScalars_3;
//   float4 UniformPixelVector_0;
//   float4 UniformPixelVector_1;
//   float4 UniformPixelVector_2;
//   float4 UniformPixelVector_3;
//   float4 UniformPixelVector_4;
//   float4 UniformPixelVector_5;
//   float4 UniformPixelVector_6;
//   float4 UniformPixelVector_7;
//   float4x4 ViewProjectionMatrix;
//
//
// Registers:
//
//   Name                      Reg   Size
//   ------------------------- ----- ----
//   UniformPixelVector_0      c0       1
//   ScreenPositionScaleBias   c1       1
//   MinZ_MaxZRatio            c2       1
//   NvStereoEnabled           c3       1
//   DiffuseOverrideParameter  c4       1
//   SpecularOverrideParameter c5       1
//   ViewProjectionMatrix      c8       4
//   LightMapScale             c12      2
//   UniformPixelVector_1      c14      1
//   UniformPixelVector_2      c15      1
//   UniformPixelVector_3      c16      1
//   UniformPixelVector_4      c17      1
//   UniformPixelVector_5      c18      1
//   UniformPixelVector_6      c19      1
//   UniformPixelVector_7      c20      1
//   UniformPixelScalars_2     c21      1
//   UniformPixelScalars_3     c22      1
//   AmbientColorAndSkyFactor  c23      1
//   LightMapTextures          s0       2
//   SceneColorTexture         s2       1
//   NvStereoFixTexture        s3       1
//   PixelTexture2D_0          s4       1
//   PixelTexture2D_1          s5       1
//   PixelTexture2D_2          s6       1
//   PixelTexture2D_3          s7       1
//   PixelTexture2D_4          s8       1
//   PixelTexture2D_5          s9       1
//

    ps_3_0
    def c6, 12, 0.200000003, 0, 0.00999999978
    def c7, 0.300000012, 0.600000024, -9.99999997e-007, -0.949999988
    def c24, 0.001953125, 0.0625, 0, 0.0333333351
    def c25, 1.79999995, 0.5, 4, -0.100000001
    def c26, 0.300000012, 0.589999974, 0.109999999, 0.400000006
    def c27, 1, 16, 2, -1
    def c28, 1.45000005, 0.0500000007, 1001, 0
    def c29, 0.100000001, 0.0199999996, 4, -1
    def c30, 0.816496611, 0.577350259, 0, 0
    def c31, -0.707106769, -0.408248305, 0.577350259, 0.707106769
    dcl_texcoord v0
    dcl_texcoord1 v1.xyz
    dcl_color v2.xyz
    dcl_color1 v3.xyz
    dcl_texcoord4 v4
    dcl_texcoord5 v5
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s3
    dcl_2d s4
    dcl_2d s5
    dcl_2d s6
    dcl_2d s7
    dcl_2d s8
    dcl_2d s9
    mul r0.xyz, c9.xyww, v5.y
    mad r0.xyz, c8.xyww, v5.x, r0
    mad r0.xyz, c10.xyww, v5.z, r0
    mad r0.yzw, c11.xxyw, v5.w, r0.xxyz
    nrm r1.xyz, -v5
    dp3 r2.x, r1, v1
    dp3 r2.y, r1, v2
    dp3 r2.z, r1, v3
    add r1.xy, -c14, v0
    mul r1.xy, r1, c15
    texld r1, r1, s4
    dp2add r1.w, r1, -r1, c27.x
    rsq r1.w, r1.w
    rcp r1.z, r1.w
    mov r3.xy, c27
    mad r3.yz, v0.xxyw, r3.y, c16.xxyw
    texld r4, r3.yzzw, s5
    mad r3.yzw, r4.xxyz, c27.z, c27.w
    mov r4.x, c6.x
    mad r4.xy, v0, r4.x, c17
    texld r4, r4, s6
    mad r3.yzw, r4.xxyz, c27.z, r3
    add r3.yzw, r3, c27.w
    mad r1.xyz, r3.yzww, c6.yyzw, r1
    nrm_pp r4.xyz, r1
    dp3 r1.x, r4, r2
    mul r1.yzw, r1.x, r4.xxyz
    mad r1.yzw, r1, c27.z, -r2.xxyz
    add r2.xyw, r3.x, -c0.xyzz
    add r3.y, -r1.x, c27.x
    cmp r3.y, r1.x, r3.y, c27.x
    mul r3.zw, r4.xyxy, r3.y
    mul r3.zw, r3, c29.xyxy
    mad r5.xy, v0, c6.w, r3.zwzw
    texld r5, r5, s8
    mad r5.xyz, r5, c29.z, c29.w
    mad r5.xyz, c21.z, r5, r3.x
    mad r3.zw, v0.xyxy, c27.y, r3
    add r3.zw, r3, c19.xyxy
    texld r6, r3.zwzw, s9
    mul r7.xyz, r6, c7.x
    mov r8.xw, c7
    mad r6.xyz, r6, -r8.x, c20
    mad r6.xyz, r6, c7.y, r7
    mul r5.xyz, r5, r6
    mad r3.yzw, r3.y, -r5.xxyz, r5.xxyz
    add r1.x, -r1_abs.x, c27.x
    add r4.w, r1_abs.x, c7.z
    mul r1.x, r1_abs.x, r1_abs.x
    mad r1.x, r1.x, -r1.x, c27.x
    cmp r1.x, r4.w, r1.x, c27.x
    add r4.w, r8.w, c22.y
    mad_sat r1.x, r1.x, r4.w, -c7.w
    rcp r4.w, r0.w
    mul r5.xy, r0.yzzw, r4.w
    mad r5.xy, r5, c1, c1.wzzw
    mov r5.zw, c6.z
    texldl r5, r5, s2
    add r3.x, r3.x, -c2.y
    add r4.w, -r3.x, r5.w
    rcp r4.w, r4.w
    mad r4.w, -c2.x, r4.w, -r0.w
    mul_sat r4.w, r4.w, c24.x
    add_sat r1.x, r1.x, r4.w
    abs r4.w, c3.x
    if_ne c3.x, -c3.x
      texld r5, c24.yzzw, s3
      add r5.y, r0.w, -r5.y
      mad r0.x, r5.x, r5.y, r0.y
      mov r5.xyz, r0.xzww
    else
      mov r5.xyz, c6.z
    endif
    cmp r5.xyz, -r4.w, r0.yzww, r5
    rcp r0.x, r5.z
    mul r5.xy, r0.x, r5
    mad r5.xy, r5, c1, c1.wzzw
    mov r5.zw, c6.z
    texldl r5, r5, s2
    add r0.x, -r3.x, r5.w
    rcp r0.x, r0.x
    mad r0.x, -c2.x, r0.x, -r0.w
    mul_sat r0.x, r0.x, c24.w
    mul r0.x, r0.x, r1.x
    mul r5.xyz, r3.yzww, r0.x
    max r6.xyz, r5_abs, -c7.z
    log r5.x, r6.x
    log r5.y, r6.y
    log r5.z, r6.z
    mul r5.xyz, r5, c25.x
    exp r6.x, r5.x
    exp r6.y, r5.y
    exp r6.z, r5.z
    add r5.x, -r2.z, c27.x
    cmp r2.z, r2.z, r5_abs.x, c27.x
    add r5.x, r2.z, c7.z
    mul r5.y, r2.z, r2.z
    mul r5.z, r5.y, r5.y
    cmp r5.z, r5.x, r5.z, c6.z
    mad r3.yzw, r0.x, r3, -r6.xxyz
    mad r3.yzw, r5.z, r3, r6.xxyz
    mul_pp r2.xyw, r2, r3.yzzw
    mad_pp r2.xyw, r2, c4.w, c4.xyzz
    mad_pp r3.yzw, r5.z, c5.w, c5.xxyz
    mul r5.zw, r1.z, v2.xyxy
    mad r5.zw, v1.xyxy, r1.y, r5
    mad r5.zw, v3.xyxy, r1.w, r5
    mad r5.zw, r5, c25.y, c25.y
    texld r6, r5.zwzw, s7
    mad_sat r6.xyz, r6, c25.z, c25.w
    dp3 r0.x, r6, c26
    lrp r7.xyz, c26.w, r0.x, r6
    add r6.xyz, r7, c18
    mul r0.x, r2.z, r5.y
    mul r5.yzw, r0.x, r6.xxyz
    mul r5.yzw, r5, c28.x
    cmp r5.xyz, r5.x, r5.yzww, c6.z
    mad r5.xyz, r6, c28.y, r5
    add_pp r5.xyz, r5, c0
    dp2add_sat_pp r6.x, r4.yzzw, c30, c30.z
    dp3_sat_pp r6.y, r4, c31
    dp3_sat_pp r6.z, r4.yzxw, c31.yzww
    dp2add_sat_pp r0.x, r1.zwzw, c30, c30.z
    dp3_sat_pp r2.z, r1.yzww, c31
    dp3_sat_pp r1.y, r1.zwyw, c31.yzww
    mul_pp r4.xyz, r6, r6
    log_pp r6.x, r0.x
    log_pp r6.y, r2.z
    log_pp r6.z, r1.y
    mul_pp r1.yzw, r6.xxyz, c28.z
    exp_pp r6.x, r1.y
    exp_pp r6.y, r1.z
    exp_pp r6.z, r1.w
    texld r7, v0.zwzw, s0
    mul_pp r1.yzw, r7.xxyz, c12.xxyz
    texld r7, v0.zwzw, s1
    mul_pp r7.xyz, r7, c13
    dp3_pp r0.x, r7, r4
    mul_pp r4.xyz, r0.x, r1.yzww
    mul r1.yzw, r1, r3
    dp3_pp r0.x, r7, r6
    mul r1.yzw, r0.x, r1
    mad_pp r1.yzw, r2.xxyw, r4.xxyz, r1
    add_pp r1.yzw, r1, r5.xxyz
    mad_pp r1.yzw, r2.xxyw, c23.xxyz, r1
    if_ne c3.x, -c3.x
      texld r2, c24.yzzw, s3
      add r0.x, r0.w, -r2.y
      mad r2.x, r2.x, r0.x, r0.y
      mov r2.yz, r0.xzww
    else
      mov r2.xyz, c6.z
    endif
    cmp r0.xyz, -r4.w, r0.yzww, r2
    rcp r0.z, r0.z
    mul r0.xy, r0.z, r0
    mad r2.xy, r0, c1, c1.wzzw
    mov r2.zw, c6.z
    texldl r2, r2, s2
    add r0.x, -r3.x, r2.w
    rcp r0.x, r0.x
    mad r0.x, -c2.x, r0.x, -r0.w
    mul_sat r0.x, r0.x, c24.w
    mul_pp oC0.w, r0.x, r1.x
    mad_pp oC0.xyz, r1.yzww, v4.w, v4

// approximately 179 instruction slots used (16 texture, 163 arithmetic)
 